package jzqb.dao;

import jzqb.bo.AdminQueryBo;
import jzqb.bo.MonitorBo;
import jzqb.po.AdminLoginLogPo;
import jzqb.po.AdminViewDownLogPo;
import jzqb.po.MonitorPo;
import jzqb.po.VisitPo;
import jzqb.vo.StandardStatisticsVo;

import java.util.List;

/**
 * 日志统计数据层接口
 */
public interface AdminLogDao {

    /**
     * 后台按条统计标准列表
     * @param bo
     * @return
     */
    List<StandardStatisticsVo> StandardStatisticsByOne(AdminQueryBo bo);

    /**
     * 后台按条件统计标准列表
     * @param bo
     * @return
     */
    List<StandardStatisticsVo> StandardStatisticsByCondition(AdminQueryBo bo);

    /**
     * 后台按条件数据统计部分总数
     * @param bo
     * @return
     */
    List<Integer> countPart(AdminQueryBo bo);

    /**
     * 后台按条件数据统计全部总数
     * @param bo
     * @return
     */
    Long countAll(AdminQueryBo bo);

    /**
     * 查询数据库的浏览量
     * @param bo
     * @return
     */
    List<StandardStatisticsVo> getBrowseByCondition(AdminQueryBo bo);

    /**
     * 查找全部浏览记录
     * @return
     */
//    HashMap<String, Integer> getBrowseAll();

    List<StandardStatisticsVo> export(AdminQueryBo bo);



    boolean insertLogRecord(AdminViewDownLogPo po);

    List<AdminViewDownLogPo> cutList (AdminViewDownLogPo adminViewDownLogPo);

    long cutCount (AdminViewDownLogPo adminViewDownLogPo);

    List<AdminViewDownLogPo> getResNotPaged(AdminViewDownLogPo adminViewDownLogPo);

    /**
     * 通过全局ID查找浏览数
     * @param getBrowseID
     * @return
     */
    List<VisitPo> getBrowseByOverallID(String getBrowseID);

    List<AdminLoginLogPo> cutList_login(AdminLoginLogPo adminLoginLogPo);

    long cutCount_login (AdminLoginLogPo adminLoginLogPo);

    List<AdminLoginLogPo> getResNotPaged_login(AdminLoginLogPo adminLoginLogPo);

    /**
     * 超长数据查找浏览数
     * @param getBrowseID
     * @return
     */

    List<VisitPo> getLongBrowseByOverallID(String getBrowseID);

    List<MonitorPo> cutPage_Monitor(MonitorBo bo);

    long cutCount_Monitor (MonitorBo bo);

    List<MonitorPo>  exportMonitorLog(MonitorBo bo);

}
